package com.mryin.performance.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mryin.performance.pojo.Task;
import org.springframework.stereotype.Repository;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author MRYIN
 * @since 2021-03-02
 */
@Repository
public interface TaskMapper extends BaseMapper<Task> {



    /**
     *  获取所有的状态为1的装配任务，装配的任务负责人和登录名连接起来
     * @return
     */
    List<Task> getAllFinishTask(String name );

    /**
     *  获取所有在规定时间内完成的任务
     */
    List<Task> getAllNormalFinishTask(String name);

    /**
     *  获取所有的状态为0的装配任务，装配的任务负责人和登录名连接起来
     * @return
     */
    List<Task> getAllUnFinishTask(String name);

    /**
     *  查询所有待完成的任务
     * @return
     */
    List<Task> getAllWaitFinishTask(String name);

    /**
     *  查询所有超时完成的任务
     * @return
     */
    List<Task> getAllOverTimeFinishTask(String name);

    /**
     *  获取该用户的所有完成的任务
     * @param name
     * @return
     */
    Double getAllFinishTaskMonovalent(String name);

    /**
     *  根据用户名、零件单价来查询排名情况
     * @param name
     * @return
     */
    int getRankingByNameOnMonovalent(String name);

    /**
     *  根据用户名、市场单价来查询排名情况
     * @param name
     * @return
     */
    int getRankingByNameOnMarketPrice(String name);

    /**
     *  获取当前月的实际上班天数
     * @return
     */
    int getActualWorkDay();

    /**
     *  通过id来查找一个任务
     * @param id
     * @return
     */
    Task getTaskById(String id);

    String inputExcel(MultipartFile file , HttpServletRequest request , HttpServletResponse response );

    int addTaskByReadExcel(Task task);

}
